#include <stdio.h>
#include <string.h>

int getmax(int a, int b){
    return (a>b) ? a : b;
}

int main() {
    char str1[100];
    char str2[100];
    while (scanf("%s %s",str1,str2) != EOF){
        int m = strlen(str1);
        int n = strlen(str2);
        int dp[101][101]={0};
        for(int i=1;i<=m+1;i++){
            for(int j=1;j<=n+1;j++){
                if(str1[i-1]==str2[j-1]){
                    dp[i][j]=dp[i-1][j-1]+1;
                }else{
                    dp[i][j]=getmax(dp[i][j-1],dp[i-1][j]);   
                }
            }
        }
        printf("%d\n",dp[m][n]);
    }
    return 0;
}